The present invention relates to a method to impose execution of a predefined command as described in the preamble of claim 1, to a first terminal and a second terminal realizing such a method as described in the preamble of claim 10 and claim 11, respectively, and a communication network including such a first terminal or such a second terminal as described in the preamble of claim 12.
A possible predefined command to be imposed by a first terminal upon a second terminal like e.g. an Asymmetric Digital Subscriber Line Network Terminator ANT is e.g. the configuration of the ANT with a predefined internet protocol address. Indeed, the assignment of an internet protocol address for an internet protocol terminal is required in order to enable this terminal to communicate in the internet protocol network. Even more, reconfiguration might be necessary in the event of misconfiguration. Indeed when such a terminal is to be coupled to a small existing Local Area Network, called LAN network, it is assumed to assimilate the network internet protocol number and the subnetwork internet protocol number of the existing network in order to avoid the use of routers.
Methods to impose execution of such a predefined command are already known in the art. Indeed dedicated hardware interfaces e.g. a serial interface to impose a predefined command upon a second terminal such as the above mentioned internet protocol address configuration of a network terminator are well known in the art. However such a dedicated hardware interface requires extra hardware and cables which might provide wiring problems.
Furthermore, many dedicated data link layer protocols of the second layer according to the seven layer open system interconnections OSI model can be developed which are however mostly proprietary solutions and wherefore however specific user interfaces have to be written in order to be used for multiple platforms.
It has to be remarked that an expression xe2x80x9cphysical layer addressxe2x80x9d is normally used according to the OSI model. An alternative term which is also used in the literature and which includes the same meaning is xe2x80x9chardware addressxe2x80x9d. This term is preferred to be used in this application.
Also specific protocols which are working in a client/server mode like the Reverse Address Resolution Protocol RARP and the Bootstrap Protocol/Dynamic Host configuration BOOTP/DHCP which are initially using broadcast IP addresses in order to hand out IP addresses are used to impose execution of a predefined command such as configuration of a terminal with a predefined internet protocol address. These protocols are for example described in the book xe2x80x9cTCP/IP Illustrated, Volume 1: The Protocols, written by W. Richard Stevens and published October 1996xe2x80x9d. The RARP protocol is described in chapter 5 of this book and the BOOTP is described in Chapter 16 of this book. However, these protocols require the presence of a server in the network which is not obvious in small e.g. private configurations.
An object of the present invention is to provide a method to impose execution of a predefined command by a first terminal upon a second terminal such as the above known methods but which do not have the above mentioned drawbacks of the need for an extra dedicated hardware interface or a dedicated server or development of proprietary user interfaces in order to enable use on multiple platforms.
According to the invention, this object is achieved by the method of claim 1 which is realized by the first terminal of claim 10 and the second terminal of claim 11 and by the communication network of claim 12 which includes such a first terminal or such a second terminal.
Indeed, the object is achieved due to the fact that the method of the invention includes the steps of:
a) entering in a first memory of the first terminal a relation between a second hardware and an intended internet protocol address. This second terminal is presubscribed to the second hardware address and the first memory is adapted to include at least one relation between a hardware address and an internet protocol address; and
b) instructing the first terminal with a predefined instruction including an argument which is the intended internet protocol address. The first terminal includes an instructing means in order to receive and to execute the predefined instruction. It has to be remarked that in a further paragraph it will become clear that depending of the kind of predefined command this intended internet protocol address might have a value of any internet protocol address or that the intended internet protocol address must have a value of a predefined intended internet protocol address; and
c) upon receiving of the predefined instruction by the first terminal transmitting a command packet to a terminal having a hardware address associated to the argument according to a relation in the first memory. The first terminal includes a transmitting means which is coupled to the instructing means in order to transmit the command packet which is received from the instructing means. The hardware address is associated to the intended internet protocol address according to the contents of the first memory. Indeed, due to the predefined instruction, the first memory is checked upon the presence of a relation with the internet protocol address of the argument of the predefined instruction which is the intended internet protocol address. It has to be explained that the first memory might include more than one relation concerning the intended internet protocol address. A hardware address which is associated to the intended internet protocol address is determined. Furthermore as a consequence of the predefined instruction the command packet is generated. The hardware address is included in the command packet and is the destination address whereby the command packet is launched on the medium towards the terminal which is subscribed to this hardware address; and
d) in the event when the hardware address is the second hardware address whereby its terminal is the second terminal, upon receiving of the command packet by a receiving means of the second terminal, providing the included second hardware address to a function means of the second terminal. According to prior art protocols, once a data packet reaches the destination according to its hardware address, the hardware address is not used anymore. According to the method of the invention the hardware address i.e. the second hardware address is extracted from the command packet and provided to the function means. The second terminal includes an extracting means coupled to the receiving means in order to extract the second hardware address from the command packet and to provide the second hardware address to the function means; and
e) upon receiving of the second hardware address by the function means generating the predefined command in order to be executed by the second terminal. Indeed, the received hardware address which is the second hardware address determines the predefined command. The address itself is the message.
In this way the basic idea of the invention is the fact that by inserting in a translation table i.e. the first memory of a first terminal a relation between an intended internet protocol address and the hardware address of the second terminal i.e. the second hardware address and by associating to the second hardware address a reference to a predefined command, the predefined command is imposed by the first terminal upon the second terminal and is to be executed in the event of being addressed by a predefined message which includes the second hardware address.
A further characteristic feature is described in claim 2. This feature is a possible implementation of the step of generating the predefined command which includes determining the predefined command according to a second memory included in the second terminal. Indeed, the second memory associates the second hardware address to the predefined command.
This feature becomes clear when looking to a possible situation whereby the relation in the first memory is implemented by a relation between an intended internet protocol address and a multicast hardware address. Such a multicast hardware address is a group hardware address which addresses due to e.g. some predefined bit settings in the hardware address, a total group of hardware addresses. This becomes clear when looking to the construction of an example of a hardware address being a Media Access Protocol address, called hereafter MAC address. Such a MAC address includes 6 bytes whereof the first 3 bytes are used to identify a group of addresses associated to e.g. a company. These 3 bytes are called the Organization Unique Identifier. The remaining bytes are free to be allocated by the owner of the group of addresses itself. When a predefined bit of the first 3 bytes is set, the MAC address being used as destination address ensures distribution of the message towards all the terminals which are subscribed to this MAC group address. This means that when the bit is set the MAC address acts as a multicast address. Furthermore, due to the construction of the MAC addresses, the values for the remaining 3 bytes are providing the possibility to generate, together with the setting of the predefined bit, a plurality of group addresses. Each group address is distinguished from one another by the value of its last 3 bytes.
In this way, when a second memory of a second terminal includes preconfigured relations between one of the group addresses and one of a plurality of predefined commands it is sufficient to subscribe, according to the present invention, the second terminal to a second hardware address which is one of the group addresses, and to address the second terminal with this group hardware address, whereby due to the preconfigured relation of the second memory the predefined command which is associated to the group address is imposed upon the second terminal.
Since the expression xe2x80x9cbeing subscribed to a hardware addressxe2x80x9d will also be used later on in this application it is worthwhile to describe it in this paragraph. Indeed, as it is know to a person skilled in the art a terminal can only be subscribed to one unicast address but can furthermore be subscribed to different group addresses, also called multicast addresses. Subscription to a unicast address is usual implemented by preconfiguring e.g. at manufacturing time, the unicast address in a Programmable Read Only Memory PROM. On the other hand, subscription to a group address is usual implemented by configuration of an accessible memory at the time of activating the terminal. The use of such an accessible memory provides the advantage of upgrading a terminal when it is required.
A further characteristic feature is described in claim 3. Herein it is described that the method of the invention further includes that the step d) of providing the second hardware address to a function means of the second terminal is only executed in the event when a predefined condition is accomplished. Indeed, according to this way it is permitted to use for step b) a known predefined instruction which is however distinguished from the common use of this instruction by the accomplishment of the predefined condition. This feature will become clear with the following example. Presume the use of a ping instruction as a predefined instruction. A ping instruction is described in the above mentioned book, in chapter 7. As it is described in the summary part of this chapter on page 96, the ping instruction is a basic connectivity test between two systems which are running TCP/IP Transmission Control Protocol/Internet Protocol. This is a test which is used by a first terminal in order to find out whether another second terminal is reachable. The instruction includes sending by the first terminal a ping command packet to the second terminal and expects a reply to be returned. Furthermore, presume that the predefined condition is the condition of receiving a ping command packet by the second terminal within the first 60 seconds after being reset. In the event when the second terminal receives such a ping command packet within the first 60 seconds after being reset i.e. the predefined condition is accomplished, the ping command will be executed as usual i.e. returning a reply to the first terminal, but furthermore, the second hardware address included in the received ping common packet is provided to the function means of the second terminal.
The above mentioned example of a predefined command being a time moment of receiving the command packet during a predefined time period after resetting the second terminal is described in claim 4. It is clear to a person skilled in the art, that other kind of predefined conditions can be defined. Indeed, another possible implementation is initializing the start of the time window for receiving of a predefined command by just booting up the second terminal i.e. switch power on.
A further implementation of the present application is that the hardware address is a unicast media access control address or a group media access control address such as it is described in an earlier paragraph. This is described in claim 5.
Another possible implementation which is described in claim 6 is that the first memory of the first terminal is an address resolution protocol table which is adapted to include relations between a hardware address and an internet protocol address. Such an address resolution protocol table is e.g. an ARP Cache which is described at page 56 of the above mentioned book. It is indeed, possible to enter in such an ARP Cache a relation between a second hardware address and an intended internet protocol address. Such an entry is described in Section 4.8 at page 63 of the TCP/IP book.
Yet, another possible implementation of the present invention is described in claim 7 and constitutes the predefined instruction with an internet protocol instruction which controls availability of a terminal associated to an internet protocol address. The above described ping instruction is such an internet protocol instruction which can be used. Indeed, the ping instruction includes, as it is required for the current application, an argument. In order to use the ping instruction to realize step b) of the method according to the present invention, the intended internet protocol address must be pinged and is the argument included in the ping command. Since the ping instruction is supported on most internet protocol terminals it is a very convenient instruction to implement step b) of the present application.
A further possible implementation of such a predefined instruction is xe2x80x9cTraceRoutexe2x80x9d which also works with an argument and which has the purpose of finding the route to a terminal in the network.
Furthermore, it has to be explained that different predefined commands are possible. Indeed, a possible predefined command is, as it is already described above, the configuration of the second terminal with an intended internet protocol address. In such an event, the command packet must include the intended internet protocol address. The predefined command includes looking further into the command packet in order to extract the provided intended internet protocol address and configures the second terminal with this intended internet protocol address. This is described is claim 8. It has to be remarked that still other predefined commands are possible to be imposed by a first terminal upon a second terminal e.g. rebooting of the second terminal but e.g. without loosing personalized configurations and configuring of the second terminal according to the factory settings.
Finally, another implementation of reflecting a condition which must be accomplished in order to impose execution of the predefined command is that the second terminal is presubscribed to the second hardware address only during a predefined time period. This predefined time period can be determined e.g. similar to the above described implementation of a predefined condition i.e. a predefined time period after resetting the second terminal. Indeed, by preconfiguring the second terminal in such a way that after resetting of it, the terminal will be subscribed to the second hardware address and after elapsing of a predefined time period e.g. 60 seconds, the subscription to the second hardware address will be deleted, step d) of the method of the invention can only be executed when the second terminal is within the condition of 60 seconds after resetting it. This is described in claim 9 and provides the advantage that a user is able to make a selection of which terminal he wants to impose execution of a predefined command upon i.e. the terminal which has just been reset.
It should be noticed that the term xe2x80x9cincludingxe2x80x9d, used in the claims, should not be interpreted as being limitative to the means listed thereafter. Thus, the scope of the expression xe2x80x9ca device including means A and Bxe2x80x9d should not be limited to devices consisting only of components A and B. It means that with respect to the present invention, the only relevant components of the device are A and B.
Similarly, it is to be noted that the term xe2x80x9ccoupledxe2x80x9d, also used in the claims, should not be interpreted as being limitative to direct connections only. Thus, the scope of the expression xe2x80x9ca device A coupled to a device Bxe2x80x9d should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and in input of B which may be a path including other devices or means.